google.load("feeds", "1") //Load Google Ajax Feed API (version 1)

function rssdisplayer(divid, url, feedlimit, showoptions){
	this.showoptions=showoptions || "" //get string of options to show ("date" and/or "description")
	var feedpointer=new google.feeds.Feed(url) //create new instance of Google Ajax Feed API
	feedpointer.setNumEntries(feedlimit) //set number of items to display
	document.write('<div id="'+divid+'">Loading feed...</div>')
	this.feedcontainer=document.getElementById(divid)
	var displayer=this
	feedpointer.load(function(r){displayer.formatoutput(r)}) //call Feed.load() to retrieve and output RSS feed
}


rssdisplayer.prototype.formatdate=function(datestr){
	var itemdate=new Date(datestr).toDateString()
	return "<span class='rssDate'>" + itemdate + "</span>"
}


rssdisplayer.prototype.formatoutput=function(result){
	if (!result.error){ //if RSS feed successfully fetched
		var thefeeds=result.feed.entries //get all feed entries as a JSON array
		var rssoutput=""
		for (var i=0; i<thefeeds.length; i++){ //loop through entries
			var itemtitle="<a href=\"" + thefeeds[i].link + "\" target=\"_blank\">" + thefeeds[i].title + "</a><br>"
			var itemdate=/date/i.test(this.showoptions)? this.formatdate(thefeeds[i].publishedDate) : ""
			var itemdescription=/description/i.test(this.showoptions)? "<br>"+thefeeds[i].content : /snippet/i.test(this.showoptions)? "<br>"+thefeeds[i].contentSnippet  : ""
			rssoutput+= itemtitle + " " + itemdate + itemdescription + "<br>" + "<br>"
		}
		rssoutput+= "<a href=\"http://www.cse.chalmers.se/research/group/idc/ituniv/courses/11/idproj/blog/\">Link to blog</a>"
		
		this.feedcontainer.innerHTML=rssoutput
	}
	else //else, output error
		alert("Error fetching feeds: "+result.error.message)
}

//USAGE SYNTAX: new rssdisplayer("divid", "rssurl", numberofitems, "displayoptions")
//new rssdisplayer("adiv", "http://www.cssdrive.com/index.php/news/rss_2.0/", 5, "date, description")
